Technical Q&A QA1212
CGContext parameter missing in my kEventControlDraw event


Q: ÉEÉCÉìÉhÉEÇÃÉãÅ[ÉgÉRÉìÉgÉçÅ[ÉãÇ…ëgÇ›çûÇfiÉJÉXÉ^ÉÄ HIView ÇèëǴNjǵÇΩÇ™ÅACarbon Çà kEventControlDraw ÉCÉxÉìÉgÇéÛÇØéÊÇ¡ÇΩÇΔÇ´Ç… CGContext ÉpÉâÉÅÉ^ÇéÊìæÇ≈Ç´Ç∏ÅAåãâ ÇΔǵǃâΩLJï`âÊÇ≈Ç´Ç‹ÇπÇÒÅBâΩÇ™ãNǴǃǢÇÈÇÃÇ≈ǵÇÂǧǩÅH

A: ÉJÉXÉ^ÉÄ HIView ÇîÒçáê¨ÉEÉCÉìÉhÉEÇ…ëgÇ›çûLJǧÇΔǵǃǢÇÈDZÇΔÇ™çlǶÇÁÇÍÇ‹Ç∑ÅBDZÇÃèÍçáÇÕÅACarbon Çà kEventControlDraw ÉCÉxÉìÉgÇéÛÇØéÊÇ¡ÇΩÇΔÇ´Ç… CGContext ÉpÉâÉÅÉ^ÇéÊìæÇ∑ÇÈDZÇΔÇ™Ç≈ǴǻǢǩÇÁÇ≈Ç∑ÅB

ÉEÉCÉìÉhÉEÇÕÅAçáê¨ÉÇÅ[ÉhÇ©îÒçáê¨ÉÇÅ[ÉhÇÃÇ«ÇøÇÁǩDžǻÇËÇ‹Ç∑ÅBCreateNewWindow Ç÷ÇÃëÊ 2 ÉpÉâÉÅÉ^ÇΔǵǃìnÇ∑ëºÇÃÉEÉCÉìÉhÉEëÆê´Ç… kWindowCompositingAttribute ëÆê´Çí«â¡Ç∑ÇÈDZÇΔÇ…ÇÊÇËçáê¨ÉEÉCÉìÉhÉEÇ™ìæÇÁÇÍÇ‹Ç∑ÅB

• ÉEÉCÉìÉhÉEÇ™çáê¨ÉÇÅ[ÉhÇÃèÍçáÅAHIView ÇÕÉEÉCÉìÉhÉEÇÃÉRÉìÉeÉìÉcÉrÉÖÅ[ÅiHIViewFindByID ÇΔ kHIViewWindowContentIDÅjÇ…í«â¡Ç∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBǪÇÃå„ÅAkEventControlDraw Carbon ÉCÉxÉìÉgÇÃÉpÉâÉÅÉ^ÇΔǵǃÅAï`âÊêÊÇà CGContext ÇéÊìæÇµÇ‹Ç∑ÅB

• ÉEÉCÉìÉhÉEÇ™çáê¨ÉÇÅ[ÉhÇ≈ǻǢèÍçáÇÕÅAÉRÉìÉgÉçÅ[ÉãÇÉEÉCÉìÉhÉEÇÃÉãÅ[ÉgÉRÉìÉgÉçÅ[ÉãÅiGetRootControlÅjÇ…í«â¡Ç∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅBǪÇÃå„ÅAkEventControlDraw Carbon ÉCÉxÉìÉgÇÃÉpÉâÉÅÉ^ÇΔǵǃÅAï`âÊêÊÇà QuickDraw GrafPort ÇéÊìæÇµÇ‹Ç∑ÅB

ǪÇÃëºÇÃëgÇ›çáÇÌÇπÅiçáê¨ÉEÉCÉìÉhÉEÇÃÉãÅ[ÉgÉRÉìÉgÉçÅ[ÉãÇ÷ÇÃëgÇ›çûÇ›ÅAîÒçáê¨ÉEÉCÉìÉhÉEÇÃÉRÉìÉeÉìÉcÉrÉÖÅ[Ç÷ÇÃëgÇ›çûÇ›ÅjÇÕïKÇ∏ǵLJÉTÉ|Å[ÉgÇ≥ÇÍǃǮÇÁÇ∏ÅAåªç›Ç‹ÇΩÇÕè´óàDžǮǢǃLJÅAìÆçÏǵǻǢâ¬î\ê´Ç™Ç†ÇËÇ‹Ç∑ÅB

çáê¨Ç™ÉIÉtÇÃèÍçáÅAÉEÉCÉìÉhÉEÇÃÉãÅ[ÉgÉRÉìÉgÉçÅ[ÉãÇÕǪÇÃÉEÉCÉìÉhÉEÇÃÉRÉìÉeÉìÉcÉrÉÖÅ[ÇΔìØÇ∂ÉGÉìÉeÉBÉeÉBÇ≈ÇÕdžÇËÇ‹ÇπÇÒÅB
çáê¨Ç™ÉIÉìÇÃèÍçáÅAÅiäJî≠é“Ç…ëŒÇ∑ÇÈï÷ãXè„ÅjǪÇÍÇÁÇÕìØÇ∂ÉGÉìÉeÉBÉeÉBÇ≈Ç∑ÅB


[2002 îN 11 åé 12 ì˙]